#ifndef IPLINEEDIT_H
#define IPLINEEDIT_H

#include<QLineEdit>
#include<QWidget>

#define LINEEDIT_SIZE   4  // 定义IP地址段的个数，IPv4有4段

class IPLineEdit : public QLineEdit
{
    Q_OBJECT
public:
    IPLineEdit(QWidget *parent=nullptr);

public:
    QString text();//返回拼接后的IP地址字符串，例如 "192.168.1.1"

protected:
    bool eventFilter(QObject *obj,QEvent *event);//事件过滤器用于拦截子控件（即每个QLineEdit）接收到的事件，

private:
    QLineEdit *m_LineEdit[LINEEDIT_SIZE];// 用于保存每段IP地址的子控件数组,并对按键事件（如数字输入、光标移动）进行自定义处理

    int getIndex(QLineEdit *pLineEdit);//该函数用于在事件处理中判断当前焦点在哪个子控件上，从而进行焦点切换等操作
};

#endif // IPLINEEDIT_H
